package com.crm.service.customerManager;

import com.crm.model.vo.customerManager.CustomerFollowVO;

import java.util.List;
import java.util.Map;

/**
 * @Author renshaorong
 * @Date 2021/04/28 9:25 上午
 */
public interface CustomerStatisticsDbService {

    /**
     * 获取时间列表(用于折线图)//上年1 本年2 本周3 本月4 上月5
     * @param dateUnit
     * @return
     */
    List<String> getTimeList(Integer dateUnit);

    /**
     * 根据客户表中客户状态获取折线图数据（包括意向客户、新单客户、续费客户）
     * @param companyId
     * @param dateUnit
     * @param type
     * @return
     */
    List<Integer> getCustomerByState(String companyId, Integer dateUnit, Integer type);

    /**
     * 成交客户
     * @param companyId
     * @param dateUnit
     * @return
     */
    List<Integer> getDealCustomer(String companyId, Integer dateUnit);

    /**
     * 客户商机分层
     * @param companyId
     * @return
     */
    List<Integer> getCustomerBusiness(String companyId);

    /**
     * 客户跟进意向值
     * @param companyId
     * @param type
     * @param dateUnit
     * @param order
     * @return
     */
    List<CustomerFollowVO> getCustomerFollow(String companyId, Integer type,
                                             Integer dateUnit, String order);

    /**
     * 获取地图数据，客户总数
     * @param type
     * @param companyId
     * @return
     */
    List<Map<String, Object>> getCustomerNumForMap(Integer type,String companyId);

    /**
     * 地图未成交客户
     * @param companyId
     * @return
     */
    List<Map<String, Object>> nonDealNumForMap(String companyId);
    /**
     * 有商机的客户数
     * @Author renshaorong
     * @Date 2021/6/3
     * @param companyId
     * @return
     */
    Integer hasOpportunity(String companyId);

    /**
     * 客户总数
     * @Author renshaorong
     * @Date 2021/6/3
     * @param companyId
     * @return
     */
    Integer customerNum(String companyId);
}
